Apparatus and method of multiple decoding

ABSTRACT

A data extractor  110  extracts data which coincides with set conditions from input data. A buffer  120  stores the extracted data. A data flow controller  130  distributes the data in the buffer  120  among separate buffers  14   i  (i=1 to n) and transfers the data in accordance with the set conditions. Each of the separate buffers  14   i  stores the transferred data. Decoders  15   i  respectively decode the data stored in the separate buffers  14   i.  A buffer manager  160  manages the buffer  120,  and a separate buffer manager  170  manages the separate buffers  14   i.  A decoding controller  180  controls decoding performed by each of the decoders  15   i.  A reproduction controller  190  provides an instruction required to select desired data and reproduce the selected data.  
     Consequently, decoding and reproduction of a plurality of data in digital broadcasting are realized, thereby making it possible to recover, when an error occurs, from the error.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates generally to an apparatus and a method of multiple decoding, and more specifically, to apparatuses and methods of reproducing a plurality of data designated from one MPEG (Moving Picture Experts Group) transport stream composed of a plurality of encoded data.

[0003] 2. Description of the Background Art

[0004] In recent years, satellite television broadcasting, cable television broadcasting and ground wave television broadcasting have been digitized, so that a broadcasting station can transmit a plurality of video and audio data. In a receiver, it is possible to receive the plurality of video and audio data, and selectively display by video and output by audio any of the data. That is, a user can select and view any one of a plurality of video and audio transmitted by the broadcasting station.

[0005] A conventional decoder used in such a receiver will be described with reference to FIGS. 7 to 9.

[0006]FIG. 7 is a block diagram showing the configuration of a conventional decoding apparatus. FIG. 8 is a diagram showing a specific example in which data representing video and audio and other data are multiplexed on an MPEG transport stream. FIG. 9 is a flow chart for explaining processing performed by the conventional decoding apparatus.

[0007] As is well known, the MPEG transport stream is a stream data string in a data format defined in the ISO/IEC13818-1 standard for data transmission and receiving, and is composed of units called packets. On the side of a transmitter, data representing a plurality of video and audio and other data are respectively stored in payload portions of the packets, and the packets are then multiplexed, to compose an MPEG transport stream (FIG. 8) for transmission toward a receiver. On the other hand, on the side of the receiver, it is possible to judge a header portion of each of the packets composing the MPEG transport stream, to selectively obtain the data representing video and audio and other data.

[0008] The conventional decoding apparatus receives the MPEG transport stream including encoded data representing a plurality of video and audio. A method of selecting the inputted MPEG transport stream is not required in describing the background art. Further, modulation and demodulation control is performed depending on a satellite, a cable, and a ground wave and hence, the description thereof is omitted herein. Consequently, the following description will be made using as a premise a state where the corresponding MPEG transport stream has already been selected.

[0009] In FIG. 7, the conventional decoding apparatus comprises a data extractor 701, a buffer 702, a decoder 703, a buffer manager 704, a decoding controller 705, and a reproduction controller 706.

[0010] First, the reproduction controller 706 instructs the decoding controller 705 to start decoding (step S901). The decoding controller 705 which has received the instruction instructs the decoder 703 to start decoding (step S902), and instructs the buffer manager 704 to start data input to the buffer 702 (step S903). The reproduction controller 706 then instructs the data extractor 701 to extract a packet having desired header information from the inputted MPEG transport stream (FIG. 8), the packet having “Header 1” in its header portion in this example (step S904).

[0011] When the extraction instruction is issued to the data extractor 701, the input of the MPEG transport stream externally supplied to the data extractor 701 is started (step S905). The data extractor 701 sequentially extracts the packets each having “Header 1” designated from the MPEG transport stream, and stores in the buffer 702 the data stored in the payload portions of the extracted packets (step S906). The decoder 703 obtains the data stored in the buffer 702, and sequentially performs the decoding (step S907). The decoder 703 confirms whether or not the decoded data, corresponding to a predetermined unit to be outputted, is ready for output (step S908). The predetermined unit to be outputted is a frame in the case of video data, for example. In the confirmation in the step S908, when the decoded data, corresponding to the predetermined unit, are not ready for output yet, the decoder 703 continues the decoding of the subsequent data (steps S905 to S907) to wait for data. When the decoded data, corresponding to the predetermined unit, are ready for output, the decoder 703 outputs the decoded data in the predetermined unit (step S909).

[0012] In the above-mentioned decoding apparatus, however, only one of the encoded data representing video and audio existing in the one MPEG transport stream can be decoded and reproduced.

[0013] Also, in the conventional decoding apparatus, there exists no method of sufficiently correcting any error which has occurred at the time point of broadcasting from a broadcasting station or in a transmission path.

SUMMARY OF THE INVENTION

[0014] Therefore, an object of the present invention is to provide an apparatus and a method of multiple decoding, which makes it possible to simultaneously decode a plurality of encoded data, and to recover the decoding when an error occurred in certain decoding.

[0015] The present invention has the following features to solve the problem above.

[0016] A first aspect of the present invention is directed to a multiple decoding apparatus receiving a signal composed of a plurality of encoded data for simultaneously decoding two or more of the data, and the multiple decoding apparatus includes:

[0017] a reproduction controller for outputting various types of control information related to decoding and reproduction of the data;

[0018] a data extractor receiving the signal for extracting the two or more data designated by the control information;

[0019] a buffer storing the data extracted by the data extractor;

[0020] a buffer manager for controlling the buffer in accordance with the control information for the buffer;

[0021] a data flow controller for distributing the data stored in the buffer for each type and transferring the data in accordance with provided transfer conditions;

[0022] a plurality of separate buffers for respectively storing the data distributed and transferred by the data flow controller;

[0023] a separate buffer manager for respectively controlling the separate buffers in accordance with information related to the specification of the separate buffer;

[0024] a plurality of decoders respectively corresponding to the plurality of separate buffers for decoding the data stored in the separate buffers and outputting the decoded data; and

[0025] a decoding controller for selecting the separate buffer and the decoder which are used for the decoding in accordance with the control information, and outputting information related to the selected separate buffer, the transfer conditions based on the selected separate buffer, and an instruction to start the decoding, respectively, to the separate buffer manager, the data flow controller, and the selected decoder.

[0026] According to the first aspect, even when a single signal composed of a plurality of encoded data, for example, one MPEG transport stream is inputted, desired ones of the plurality of data can be simultaneously decoded.

[0027] Preferably,

[0028] the buffer manager outputs, when the buffer becomes full of the data, an overflow notification to the reproduction controller,

[0029] the reproduction controller outputs, upon receipt of the overflow notification, an instruction to stop the data extraction to the data extractor, and outputs an initialization instruction to the decoding controller;

[0030] the decoding controller outputs, upon receipt of the initialization instruction from the reproduction controller, an instruction to initialize all the plurality of separate buffers to the separate buffer manager, outputs to the buffer manager an instruction to initialize the buffer, and respectively outputs instructions to stop the decoding to all the plurality of decoders,

[0031] the buffer manager initializes the buffer in accordance with the initialization instruction from the decoding controller,

[0032] the separate buffer manager initializes all the plurality of separate buffers in accordance with the initialization instruction from the decoding controller, and

[0033] all the processing which is stopped is resumed after all the buffer and the plurality of separate buffers are initialized.

[0034] Even when the buffer overflows due to the occurrence of any error, therefore, it is feasible to recover unsuccessful decoding due to the error.

[0035] More preferably,

[0036] the separate buffer manager outputs, when the specific separate buffer becomes full of the data, an overflow notification that the specific separate buffer overflows to the decoding controller,

[0037] the decoding controller outputs, upon receipt of the overflow notification that the specific separate buffer overflows, an instruction to stop the data transfer to the specific separate buffer to the data flow controller, outputs an instruction to stop the decoding to the decoder corresponding to the specific separate buffer, and outputs to the separate buffer manager an instruction to initialize the specific separate buffer,

[0038] the separate buffer manager initializes the specific separate buffer in accordance with the initialization instruction from the decoding controller, and

[0039] all the processing which is stopped is resumed after the specific separate buffer is initialized.

[0040] Furthermore, preferably,

[0041] the separate buffer manager outputs, when the specific separate buffer becomes full of the data, an overflow notification that the specific separate buffer overflows to the decoding controller,

[0042] the decoding controller outputs, upon receipt of the overflow notification that the specific separate buffer overflows, an instruction to discard the data directed toward the specific separate buffer to the data flow controller, outputs an instruction to stop the decoding to the decoder corresponding to the specific separate buffer, and outputs to the separate buffer manager an instruction to initialize the specific separate buffer,

[0043] the separate buffer manager initializes the specific separate buffer in accordance with the initialization instruction from the decoding controller, and

[0044] all the processing which is stopped is resumed, and the discard of the data is released after the specific separate buffer is initialized.

[0045] Even when one or two or more separate buffers overflow due to the occurrence of any error, therefore, it is feasible to recover the decoding in which a problem occurs due to the occurrence of an error.

[0046] A second aspect of the present invention is directed to a multiple decoding method, in which a signal composed of a plurality of encoded data is inputted, to simultaneously decode two or more of the data, comprising the steps of:

[0047] inputting the signal and extracting the two or more data to be decoded and reproduced;

[0048] storing the extracted data in a buffer;

[0049] distributing the data stored in the buffer for each type and respectively storing the data in the plurality of separate buffers; and

[0050] respectively decoding the data stored in the plurality of separate buffers and outputting the decoded data.

[0051] According to the second aspect, even when a single signal composed of the plurality of encoded data is inputted, desired ones of the plurality of data can be simultaneously decoded.

[0052] Preferably,

[0053] the method further includes, when the buffer becomes full of the data, the steps of

[0054] stopping extraction and decoding of the data,

[0055] initializing all the buffer and the plurality of separate buffers, and

[0056] resuming all the processing which is stopped after all the buffer and the plurality of separate buffers are initialized.

[0057] Even when the buffer overflows due to the occurrence of any error, therefore, it is feasible to recover unsuccessful decoding due to the error.

[0058] More preferably,

[0059] the method further includes, when the specific separate buffer becomes full of the data, the steps of

[0060] stopping the distribution of the data into the specific separate buffer and the decoding of the data stored in the specific separate buffer,

[0061] initializing the specific separate buffer; and

[0062] resuming all the processing which is stopped after the specific separate buffer is initialized.

[0063] Furthermore, preferably,

[0064] the method further includes, when the specific separate buffer becomes full of the data, the steps of

[0065] discarding the data directed toward the specific separate buffer,

[0066] stopping the decoding of the data stored in the specific separate buffer,

[0067] initializing the specific separate buffer, and

[0068] resuming all the processing which is stopped after the specific separate buffer is initialized, and releasing the discard of the data.

[0069] Even when one or two or more separate buffers overflow due to the occurrence of any error, therefore, it is feasible to recover unsuccessful decoding due to the error.

[0070] These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0071]FIG. 1 is a block diagram showing the configuration of each of a multiple decoding apparatus according to an embodiment of the present invention;

[0072]FIGS. 2 and 3 are flow charts showing the procedure for processing performed by the multiple decoding apparatus according to the embodiment of the present invention;

[0073]FIG. 4 is a flow chart showing the procedure for processing in a case where a buffer 120 overflows;

[0074]FIGS. 5 and 6 are flow charts showing the procedure for processing in a case where a separate buffer 14 i overflows;

[0075]FIG. 7 is a block diagram showing the configuration of a conventional decoding apparatus;

[0076]FIG. 8 is a diagram for explaining an MPEG transport stream; and

[0077]FIG. 9 is a flow chart showing the procedure for processing performed by the conventional decoding apparatus.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0078] Referring now to the drawings, description is made of a multiple decoding apparatus provided by the present invention.

[0079]FIG. 1 is a block diagram showing the configuration of each of a multiple decoding apparatus according to an embodiment of the present invention. FIGS. 2 to 6 are flow charts for explaining the procedure f or processing in a multiple decoding method respectively carried out by the multiple decoding apparatus according to the present embodiment.

[0080] Description is now made of the outline of the configuration of the multiple decoding apparatus according to the present embodiment.

[0081] In FIG. 1, the multiple decoding apparatus according to the present embodiment comprises a data extractor 110, a buffer 120, a data flow controller 130, n (n is an arbitrary integer) separate buffers 141 to 14 n, n decoders 151 to 15 n, a buffer manager 160, an separate buffer manager 170, a decoding controller 180, and a reproduction controller 190.

[0082] The data extractor 110 outputs data which coincides with conditions set from inputted data. The buffer 120 temporarily stores the data extracted by the data extractor 110. The data flow controller 130 respectively transfers the data inputted from the buffer 120 to the separate buffers 141 to 14 n in accordance with the set conditions. The separate buffers 141 to 14 n are prepared for the decoders 151 to 15 n, to store the data transferred from the data flow controller 130. The decoders 151 to 15 n respectively decode the data stored in the separate buffers 141 to 14 n. The buffer manager 160 manages the buffer 120. The separate buffer manager 170 respectively manages the separate buffers 141 to 14 n. The decoding controller 180 respectively controls the decoding performed by the decoders 151 to 15 n. The reproduction controller 190 provides an instruction to select, out of the data inputted to the data extractor 110, the data to be decoded and reproduce the selected data.

[0083] Referring now to FIGS. 2 to 6, description is made of the multiple decoding method respectively carried out by the multiple decoding apparatus according to the present embodiment.

[0084] Description is herein made, taking as an example a case where data respectively stored in three packets using “Header 1”, “Header 2” and “Header 3” as their header portions are reproduced. That is, in FIG. 2, m=3.

[0085] In this case, the reproduction controller 190 outputs a decoding start instruction to the decoding controller 180 in order to reproduce the data stored in the three packets (step S201). The decoding controller 180 which has received the instruction selects, out of the decoders 151 to 15 n, the three arbitrary decoders, which are not used at that time. In this example, the decoders 151 to 153 shall be selected (steps S202 and S203). When a required number of decoders cannot be selected because they have already been used for another decoding, the decoding may be caused to wait until the all required number of decoders can be selected, or, if any decoder can be selected, the decoding in the selected decoders may be performed in advance.

[0086] The decoding controller 180 respectively instructs the selected three decoders 151 to 153 to start the decoding (step S204). Further, the decoding controller 180 outputs, in order to respectively issue data input start instructions to the separate buffers 141 to 143 connected to the selected decoders 151 to 153, an instruction to start data input to the separate buffer manager 170 (step S205).

[0087] The decoding controller 180 then sets in the data flow controller 130 conditions for transferring the data stored in the packet having “Header 1”, the data stored in the packet having “Header 2”, and the data stored in the packet having “Header 3”, respectively, to the separate buffer 141, the separate buffer 142, and the separate buffer 143 (step S206). The data flow controller 130 starts the transfer of the data stored in the buffer 120 to each of the separate buffers 141 to 143 on the basis of the conditions set by the decoding controller 180 (step S207). The decoding controller 180 then instructs the buffer manager 160 to start data input to the buffer 120 (step S208). Thereafter, the reproduction controller 190 instructs the data extractor 110 to extract the packets respectively having “Header 1”, “Header 2” and “Header 3” in their header portions (step S209). Consequently, the input of the MPEG transport stream externally supplied to the data extractor 110 is started (step S210).

[0088] When the data extractor 110 sequentially extracts the packets designated from the MPEG transport stream in accordance with the instruction received from the reproduction controller 190, the buffer manager 160 checks, when the data stored in the payload portions of the packets are stored in the buffer 120, whether or not the buffer 120 overflows (step S301). The decoding performed in the following manner differs depending on the presence or absence of the overflow of the buffer 120.

[0089] When the buffer 120 does not overflow (No in step S302), the data extractor 110 stores the extracted data in the buffer 120 (step S303). Subsequently, the data flow controller 130 sequentially reads out the stored data from the buffer 120, and respectively specifies the separate buffers 14 i (i=1 to 3 in this example) at destinations of transfer in accordance with the set conditions (step S305). When the data read out is the data stored in the packet having “Header 1”, for example, the separate buffer 141, which is the destination of transfer of the data, is specified.

[0090] On the other hand, when the buffer 120 overflows (Yes at step S302), the buffer manager 160 notifies the reproduction controller 190 that the buffer 120 overflows (step S401). The reproduction controller 190 which has been notified instructs the data extractor 110 to stop the data extraction (step S402), and then instructs the decoding controller 180 to stop the decoding by all the decoders (step S403). The decoding controller 180 instructs the data flow controller 130 to stop the data transfer to all the separate buffers 141 to 14 n (step S404), and instructs the buffer manager 160 to initialize the buffer 120 (step S405). The decoding controller 180 which has received the instruction issues an instruction to stop the decoding by all the decoders 151 to 15 n (step S406), and then instructs the separate buffer manager 170 to initialize all the separate buffers 141 to 14 n (step S407).

[0091] When the multiple decoding apparatus is entirely initialized by the processing, the processing from the step in which the decoding start instruction is outputted from the reproduction controller 190 (step S201) to the step in which the separate buffer 14 i is specified (step S305) is performed again.

[0092] The separate buffer manager 170 then checks, when the data flow controller 130 stores in the specified separate buffer 14 i the data read out of the buffer 120, whether or not the separate buffer 14 i overflows (step S306). The decoding differs, as described below, depending on the presence or absence of the overflow of the separate buffer 14 i.

[0093] First when the separate buffer 14 i does not overflow (No in step S307), the data flow controller 130 stores the read data in the separate buffer 14 i (step S308). The decoder 15 i decodes the data, when the data is stored in the separate buffer 14 i (step S309). The decoder 15 i checks whether or not the decoded data, corresponding to a predetermined unit to be outputted, are ready for output(step S310). When the decoded data are not ready for output, the decoder 15 i enters a stand-by state until the subsequent data arrives. When the decoded data are ready for output, the decoder 15 i outputs the decoded data in the predetermined unit (step S311).

[0094] Although description is herein made of a case where the decoded data are not outputted until they correspond to the predetermined unit to be outputted, the decoded data may be outputted as they are.

[0095] On the other hand, when the separate buffer 14 i overflows (Yes at step S307), two methods, described below, are considered as processes which can be carried out by the multiple decoding apparatus:

[0096] Process 1

[0097] The separate buffer manager 170 notifies the decoding controller 180 that the separate buffer 14 i overflows (step S501). The decoding controller 180 which has been notified instructs the data flow controller 130 to stop the data transfer from the buffer 120 to the separate buffer 14 i (step S502). During the stop, the data outputted from the data extractor 110 are stored in the buffer 120.

[0098] The data continues to be stored in the buffer 120 in a time period elapsed from the time when the data transfer by the data flow controller 130 is stopped until the data transfer is resumed. Accordingly, the size S1(bit) of the buffer 120 must be determined so as to satisfy the following relational expression:

S1>S2+RATE*T

[0099] Here, assume that RATE(bit/sec) is the transfer rate of the data received from the data extractor 110 by the buffer 120, S2(bit) is the size of the data stored in the buffer 120 the moment the data flow controller 130 transfers the data, and T(sec) is a time period elapsed from the time when the data transfer by the data flow controller 130 is stopped until the data transfer is resumed.

[0100] The decoding controller 180 then instructs the decoder 15 i to stop the decoding (step S504), and further instructs the separate buffer manager 170 to initialize the separate buffer 14 i (step S505). The separate buffer manager 170 which has received the instruction initializes the separate buffer 14 i (step S506). After the initialization, the decoding controller 180 instructs the decoder 15 i to start the decoding again (step S507), and instructs the separate buffer manager 170 to start data input to the separate buffer 14 i (step S508). The decoding controller 180 instructs the data flow controller 130 to resume the data transfer (step S509), so that the data transfer from the buffer 120 to the separate buffer 14 i is resumed.

[0101] Thereafter, the processing in the step S210 and the subsequent steps is repeatedly performed.

[0102] Process 2

[0103] The separate buffer manager 170 notifies the decoding controller 180 that the separate buffer 14 i overflows (step S601). The decoding controller 180 which has been notified instructs the data flow controller 130 to discard the data read out of the buffer 120 to the separate buffer 14 i (step S602). The data flow controller 130 which has received the instruction discards the corresponding data (step S603).

[0104] The decoding controller 180 then instructs the decoder 15 i to stop the decoding (step S604), and instructs the separate buffer manager 170 to initialize the separate buffer manager 14 i (step S605). The separate buffer manager 170 which has received the instruction initializes the separate buffer 14 i (step S606). After the initialization, the decoding controller 180 instructs the decoder 15 i to resume the decoding (step S607), and instructs the separate buffer manager 170 to resume the data input to the separate buffer 14 i from the buffer 120 (step S608). The decoding controller 180 then outputs to the data flow controller 130 an instruction to resume the data transfer of the corresponding data to the separate buffer 14 i (step S609).

[0105] Thereafter, the processing in the step S210 and the subsequent steps is repeatedly performed.

[0106] Although in the description of the (Process 2), the subsequent data input processing is performed upon recovering the separate buffer 14 i which overflows after the data is discarded in the data flow controller 130, the subsequent data input processing may be performed asynchronously with overflow recovery processing after the data is discarded.

[0107] As described in the foregoing, in the multiple decoding apparatus and method according to one embodiment of the present invention, a plurality of encoded data can be simultaneously decoded. Further, even when the buffer 120 or the separate buffers 141 to 14 n overflow due to the occurrence of any error, it is feasible to recover unsuccessful decoding due to the error.

[0108] Although description was made, taking as an example a case where the signal to be inputted is the MPEG transport stream, the signal to be inputted is not limited to the same. The signal to be inputted may be another signal, provided that it has identification information for identifying a plurality of data and has such a format that the plurality of data are mixed (frequency-division multiplexed, time-division multiplexed, for example).

[0109] While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention. 

What is claimed is:
 1. A multiple decoding apparatus receiving a signal composed of a plurality of encoded data for simultaneously decoding two or more of the data, comprising: a reproduction controller for outputting various types of control information related to decoding and reproduction of the data; a data extractor receiving said signal for extracting the two or more data designated by said control information; a buffer storing the data extracted by said data extractor; a buffer manager for controlling said buffer in accordance with said control information for said buffer; a data flow controller for distributing the data stored in said buffer for each type and transferring the data in accordance with provided transfer conditions; a plurality of separate buffers for respectively storing the data distributed and transferred by said data flow controller; a separate buffer manager for respectively controlling said separate buffers in accordance with information related to the specification of said separate buffer; a plurality of decoders respectively corresponding to said plurality of separate buffers for decoding the data stored in said separate buffers and outputting the decoded data; and a decoding controller for selecting said separate buffer and said decoder which are used for the decoding in accordance with said control information, and outputting information related to the selected separate buffer, said transfer conditions based on the selected separate buffer, and an instruction to start the decoding, respectively, to said separate buffer manager, said data flow controller, and said selected decoder.
 2. The multiple decoding apparatus according to claim 1, wherein said buffer manager outputs, when said buffer becomes full of the data, an overflow notification to said reproduction controller, said reproduction controller outputs, upon receipt of said overflow notification, an instruction to stop the data extraction to said data extractor, and outputs an initialization instruction to said decoding controller; said decoding controller outputs, upon receipt of the initialization instruction from said reproduction controller, an instruction to initialize all said plurality of separate buffers to said separate buffer manager, outputs to said buffer manager an instruction to initialize said buffer, and respectively outputs instructions to stop the decoding to all said plurality of decoders, said buffer manager initializes said buffer in accordance with the initialization instruction from said decoding controller, said separate buffer manager initializes all said plurality of separate buffers in accordance with the initialization instruction from said decoding controller, and all the processing which is stopped is resumed after all said buffer and said plurality of separate buffers are initialized.
 3. The multiple decoding apparatus according to claim 1, wherein said separate buffer manager outputs, when the specific separate buffer becomes full of the data, an overflow notification that the specific separate buffer overflows to said decoding controller, said decoding controller outputs, upon receipt of the overflow notification that said specific separate buffer overflows, an instruction to stop the data transfer to the specific separate buffer to said data flow controller, outputs an instruction to stop the decoding to said decoder corresponding to the specific separate buffer, and outputs to said separate buffer manager an instruction to initialize the specific separate buffer, said separate buffer manager initializes said specific separate buffer in accordance with the initialization instruction from said decoding controller, and all the processing which is stopped is resumed after said specific separate buffer is initialized.
 4. The multiple decoding apparatus according to claim 1, wherein said separate buffer manager outputs, when the specific separate buffer becomes full of the data, an overflow notification that the specific separate buffer overflows to said decoding controller, said decoding controller outputs, upon receipt of the overflow notification that said specific separate buffer overflows, an instruction to discard the data directed toward the specific separate buffer to said data flow controller, outputs an instruction to stop the decoding to said decoder corresponding to the specific separate buffer, and outputs an instruction to initialize the specific separate buffer to said separate buffer manager, said separate buffer manager initializes said specific separate buffer in accordance with the initialization instruction from said decoding controller, and all the processing which is stopped is resumed, and the discard of said data is released after said specific separate buffer is initialized.
 5. A multiple decoding method, in which a signal composed of a plurality of encoded data is inputted, to simultaneously decode two or more of the data, comprising the steps of: inputting said signal and extracting the two or more data to be decoded and reproduced; storing said extracted data in a buffer; distributing the data stored in said buffer for each type and respectively storing the data in the plurality of separate buffers; and respectively decoding the data stored in said plurality of separate buffers and outputting the decoded data.
 6. The multiple decoding method according to claim 5, further comprising, when said buffer becomes full of the data, the steps of stopping extraction and decoding of the data, initializing all said buffer and said plurality of separate buffers, and resuming all the processing which is stopped after all said buffer and said plurality of separate buffers are initialized.
 7. The multiple decoding method according to claim 5, further comprising, when the specific separate buffer becomes full of the data, the steps of stopping the distribution of the data into said specific separate buffer and the decoding of the data stored in the specific separate buffer, initializing said specific separate buffer; and resuming all the processing which is stopped after said specific separate buffer is initialized.
 8. The multiple decoding method according to claim 5, further comprising, when the specific separate buffer becomes full of the data, the steps of discarding the data directed toward said specific separate buffer, stopping the decoding of the data stored in said specific separate buffer, initializing said specific separate buffer, and resuming all the processing which is stopped after said specific separate buffer is initialized, and releasing the discard of said data. 